#define PGLAST 0xFFFFF000 // 最后一页起始地址
#define PGSZ 0x1000 // 页大小
#define PGMASK 0xFFF 
#define TRAMPOLINE PGLAST // Trampoline 映射到最后一页
#define TRAPFRAME (TRAMPOLINE-PGSZ) // Trapframe映射到Trampoline下一页
#define ROUNDDOWN(addr) (addr&~PGMASK)
#define ROUNDUP(addr) ((addr&PGMASK)?(addr&~PGMASK+PGSZ):(addr&~PGMASK))
#define KSTACK0 (TRAPFRAME-PGSZ) // 第0个内核栈
#define KTRAPFRAME0 (KSTACK0-PGSZ) 
#define USTACK KSTACK0
#define PGALIGNED(pg) (((unsigned int)pg&PGMASK)==0)